from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能

class 主动技能(主动技能):
    # 2023.11.16,国服特色加强
    国服特色 = 1.065


class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0

    所在等级 = 1
    等级上限 = 200
    学习间隔 = 1
    等级精通 = 110

    关联技能 = ['念兽：龙虎啸']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '分身'
    所在等级 = 5
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10
    MP = [6, 84]
    基础个数 = 0
    是否有伤害 = 0
    TP上限 = 0
    关联技能 = ['幻影爆碎']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 0
        else:
            return self.基础个数 + self.等级 + 1


class 技能2(主动技能):
    名称 = "气玉弹"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [20, 168]
    无色消耗 = 0
    data0 = [0, 485, 531, 582, 630, 679, 728, 775, 823, 873, 922, 969, 1022, 1068, 1117, 1165, 1216, 1264, 1311, 1359, 1411, 1458, 1509, 1556, 1607, 1654, 1705, 1751, 1799, 1851, 1899, 1946, 1998, 2043, 2094, 2140, 2194, 2241, 2289, 2338, 2386, 2435, 2485, 2534, 2583, 2628, 2684, 2728, 2777, 2827, 2874, 2923, 2969, 3022, 3070, 3117, 3170, 3214, 3269, 3313, 3367, 3410, 3458, 3512, 3558, 3611, 3657, 3702, 3754, 3802, 3854]
    hit0 = 11
    TP成长 = 0.1
    TP上限 = 7


class 技能3(主动技能):
    名称 = "念气波"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 1
    MP = [15, 154]
    无色消耗 = 0
    data0 = [0, 1083, 1194, 1304, 1414, 1525, 1632, 1744, 1855, 1960, 2073, 2181, 2291, 2401, 2512, 2623, 2731, 2843, 2953, 3059, 3169, 3278, 3390, 3499, 3610, 3719, 3830, 3938, 4050, 4159, 4269, 4378, 4488, 4596, 4708, 4818, 4928, 5037, 5148, 5260, 5367, 5476, 5586, 5696, 5806, 5918, 6028, 6136, 6245, 6354, 6464, 6574, 6685, 6796, 6904, 7014, 7125, 7233, 7344, 7455, 7564, 7672, 7782, 7893, 8002, 8112, 8222, 8332, 8442, 8551, 8662]
    hit0 = 1
    感电data0 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
    感电hit0 = 1
    TP成长 = 0.1
    TP上限 = 7

    形态 = ['蓄力', '普通']

    蓄念炮加成 = 1.0

    CP武器 = False

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if self.CP武器:
            形态 = '蓄力'
        if 形态 == '蓄力':
            self.power0 = self.蓄念炮加成
            self.CD = 4
        elif 形态 == '普通':
            self.power0 = 1
            self.CD = 1
        if self.CP武器:
            self.power0 = self.蓄念炮加成
            self.CD = 5

    def 等效CD(self, **argv):
        if self.CP武器:
            self.CD = 5
        return super().等效CD(**argv)


class 技能4(被动技能):
    名称 = '蓄念炮'

    所在等级 = 20
    等级上限 = 11
    学习间隔 = 2
    等级精通 = 1

    基础等级 = 1

    关联技能 = ['念气波']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(2.26 + 0.05 * self.等级, 5)

    def 加成描述(self, 武器类型):
        return [round((self.加成倍率(武器类型) - 1)*100), "念气波(蓄力)", "无"]

# 幻爆的伤害实质属于被动技能，不能受1-35主动技能+xx的加成
# MP消耗也是按分身的等级来


class 技能5(主动技能):
    名称 = '幻影爆碎'
    是否主动 = 0
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    data0 = [0, 716, 787, 861, 933, 1006, 1080, 1152, 1220, 1297, 1369, 1439, 1514, 1586, 1656, 1732, 1804, 1874, 1950, 2019, 2092, 2165, 2238, 2312, 2384, 2453, 2528, 2600, 2671, 2747, 2818, 2888, 2964, 3036, 3106, 3182, 3252, 3325, 3399, 3472, 3539, 3612, 3687, 3758, 3831, 3907, 3975, 4048, 4121, 4196, 4267, 4341, 4413, 4484, 4554, 4629, 4702, 4772, 4847, 4919, 4991, 5066, 5136, 5207, 5282, 5355, 5426, 5501, 5573, 5642, 5716]
    hit0 = 1
    TP上限 = 7

    def TP加成(self):
        return 1.0


class 技能6(主动技能):
    名称 = "念雷破"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [48, 403]
    无色消耗 = 0
    data0 = [0, 5405, 5954, 6503, 7051, 7601, 8149, 8697, 9244, 9793, 10341, 10891, 11438, 11988, 12533, 13082, 13632, 14179, 14729, 15277, 15825, 16373, 16921, 17469, 18019, 18566, 19114, 19662, 20211, 20761, 21307, 21857, 22404, 22953, 23501, 24051, 24598, 25148, 25693, 26243, 26790, 27339, 27889, 28436, 28986, 29532, 30081, 30629, 31179, 31726, 32276, 32822, 33372, 33918, 34467, 35017, 35564, 36113, 36661, 37210, 37758, 38308, 38854, 39403, 39950, 40500, 41049, 41596, 42146, 42691, 43241]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能7(主动技能):
    名称 = "念兽螺旋波"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [96, 806]
    无色消耗 = 0
    data0 = [0, 1312, 1445, 1578, 1711, 1845, 1976, 2110, 2243, 2376, 2508, 2643, 2775, 2908, 3040, 3173, 3308, 3441, 3572, 3705, 3839, 3971, 4105, 4237, 4371, 4503, 4636, 4771, 4904, 5035, 5169, 5302, 5435, 5568, 5701, 5834, 5967, 6099, 6232, 6367, 6499, 6631, 6764, 6898, 7032, 7163, 7296, 7430, 7563, 7695, 7828, 7961, 8093, 8227, 8360, 8492, 8625, 8759, 8892, 9025, 9156, 9292, 9425, 9558, 9690, 9823, 9957, 10090, 10222, 10355, 10489]
    hit0 = 3
    data1 = [0, 1475, 1626, 1775, 1925, 2075, 2225, 2374, 2525, 2674, 2823, 2974, 3121, 3271, 3420, 3571, 3720, 3870, 4020, 4170, 4319, 4469, 4619, 4766, 4917, 5066, 5216, 5366, 5516, 5665, 5816, 5965, 6115, 6265, 6413, 6563, 6712, 6862, 7011, 7162, 7311, 7461, 7611, 7761, 7909, 8060, 8209, 8358, 8509, 8657, 8807, 8956, 9107, 9256, 9406, 9555, 9705, 9854, 10003, 10154, 10301, 10453, 10601, 10752, 10902, 11052, 11200, 11351, 11500, 11650, 11800]
    hit1 = 4
    感电data0 = [0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
    感电hit0 = 7
    TP成长 = 0.1
    TP上限 = 7


class 技能8(主动技能):
    名称 = '念气环绕'
    所在等级 = 30
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10
    # 实际CD4,0.5为攻击间隔
    CD = 0.5
    MP = [268, 1694]
    无色消耗 = 0
    data0 = [0, 495, 544, 593, 645, 695, 746, 794, 844, 894, 946, 995, 1046, 1095, 1146, 1196, 1245, 1295, 1345, 1396, 1444]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.03 + 0.02 * self.等级, 3)


class 技能9(主动技能):
    名称 = "狮子吼"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [120, 1008]
    无色消耗 = 1
    data0 = [0, 10474, 11536, 12598, 13659, 14723, 15781, 16846, 17908, 18971, 20031, 21096, 22158, 23220, 24281, 25346, 26407, 27469, 28533, 29594, 30654, 31717, 32780, 33843, 34904, 35969, 37029, 38092, 39153, 40219, 41280, 42344, 43398, 44459, 45525, 46588, 47651, 48710, 49774, 50839, 51898, 52962, 54024, 55087, 56147, 57209, 58272, 59333, 60396, 61458, 62519, 63582, 64646, 65706, 66770, 67831, 68896, 69960, 71019, 72080, 73142, 74205, 75269, 76332, 77391, 78454, 79517, 80582, 81643, 82705, 83767]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    MP = [120, 1008]
    无色消耗 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.36


class 技能10(主动技能):
    名称 = "螺旋念气场"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [170, 1428]
    无色消耗 = 1
    data0 = [0, 1744, 1918, 2092, 2270, 2443, 2622, 2793, 2970, 3151, 3321, 3501, 3677, 3849, 4025, 4204, 4379, 4555, 4731, 4905, 5083, 5259, 5436, 5612, 5785, 5962, 6141, 6315, 6491, 6669, 6845, 7016, 7192, 7369, 7549, 7724, 7900, 8072, 8247, 8424, 8598, 8782, 8958, 9134, 9305, 9483, 9660, 9835, 10011, 10186, 10361, 10538, 10715, 10892, 11064, 11241, 11416, 11593, 11770, 11946, 12120, 12296, 12472, 12644, 12827, 12998, 13176, 13352, 13529, 13704, 13881]
    hit0 = 10
    data1 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def TP加成(self):
        return 1.0

    def 等效百分比(self, **argv):
        self.hit0 = 10 + self.TP等级
        return super().等效百分比(**argv)

    def 装备护石(self, char):
        self.倍率 *= 1.22


class 技能11(主动技能):
    名称 = "念兽：龙虎啸"
    所在等级 = 40
    等级上限 = 20
    学习间隔 = 3
    等级精通 = 10
    # 攻击间隔 实际CD5秒
    CD = 1.0
    MP = [550, 5217]
    无色消耗 = 0
    data0 = [0, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145, 145]
    hit0 = 1
    data1 = [0, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163]
    hit1 = 1
    data2 = [0, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193]
    hit2 = 1
    data3 = [0, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218]
    hit3 = 1
    data4 = [0, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299]
    hit4 = 1
    TP成长 = 0.1
    TP上限 = 5

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.04 + 0.02 * self.等级, 5)


class 技能12(主动技能):
    名称 = "念兽：雷龙出海"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [450, 3780]
    无色消耗 = 2
    data0 = [0, 781, 858, 940, 1012, 1100, 1179, 1262, 1345, 1422, 1499, 1575, 1658, 1740, 1820, 1901, 1977, 2059, 2142, 2220, 2304, 2386, 2460, 2540, 2622, 2704, 2783, 2866, 2943, 3022, 3103, 3185, 3265, 3343, 3421, 3503, 3587, 3666, 3747, 3824, 3904, 3985, 4063, 4148, 4225, 4307, 4388, 4469, 4546, 4627, 4710, 4789, 4865, 4947, 5028, 5109, 5190, 5266, 5351, 5428, 5511, 5588, 5669, 5751, 5828, 5910, 5992, 6071, 6148, 6231, 6310]
    hit0 = 29
    data1 = [0, 781, 858, 940, 1012, 1100, 1179, 1262, 1345, 1422, 1499, 1575, 1658, 1740, 1820, 1901, 1977, 2059, 2142, 2220, 2304, 2386, 2460, 2540, 2622, 2704, 2783, 2866, 2943, 3022, 3103, 3185, 3265, 3343, 3421, 3503, 3587, 3666, 3747, 3824, 3904, 3985, 4063, 4148, 4225, 4307, 4388, 4469, 4546, 4627, 4710, 4789, 4865, 4947, 5028, 5109, 5190, 5266, 5351, 5428, 5511, 5588, 5669, 5751, 5828, 5910, 5992, 6071, 6148, 6231, 6310]
    hit1 = 20
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ["打满", "秒C"]

    # 秒C 多段攻击次数为1 且爆炸攻击力随着剩余时间增加而增加 极限秒c加成为78.75%
    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "打满":
            self.hit0 = 29
            self.hit1 = 20
        if 形态 == "秒C":
            self.hit0 = 1
            self.hit1 = 20
            self.power1 = 1.7875

    def 装备护石(self, char):
        self.倍率 *= 1.21


class 技能13(被动技能):
    名称 = '乱舞千叶花'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.15 + 0.01 * self.等级, 5)


# 仅录入最高阶段
class 技能14(主动技能):
    名称 = "千莲怒放"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 12383, 15251, 18124, 20994, 23868, 26738, 29605, 32477, 35347, 38218, 41089, 43960, 46830, 49700, 52573, 55441, 58313, 61185, 64056, 66925, 69797, 72666, 75540, 78409, 81283, 84151, 87021, 89891, 92765, 95635, 98502, 101378, 104244, 107116, 109986, 112857, 115729, 118599, 121469, 124337, 127212, 130081, 132951, 135823, 138691, 141563, 144433, 147306, 150177, 153048]
    hit0 = 6


class 技能15(主动技能):
    名称 = "奔雷掌"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [450, 1260]
    无色消耗 = 1
    data0 = [0, 2778, 3060, 3342, 3623, 3903, 4185, 4468, 4749, 5030, 5314, 5590, 5875, 6158, 6437, 6719, 7003, 7282, 7564, 7848, 8129, 8410, 8690, 8969, 9251, 9534, 9816, 10095, 10381, 10660, 10942, 11222, 11507, 11784, 12070, 12351, 12632, 12910, 13198, 13475, 13757, 14038, 14321, 14603, 14883, 15169, 15444, 15730, 16011, 16291, 16572]
    hit0 = 6
    data1 = [0, 11104, 12229, 13356, 14483, 15608, 16730, 17859, 18985, 20109, 21238, 22365, 23491, 24617, 25743, 26869, 27993, 29118, 30246, 31373, 32499, 33625, 34750, 35876, 37006, 38129, 39254, 40383, 41507, 42634, 43758, 44887, 46015, 47138, 48264, 49391, 50517, 51643, 52769, 53895, 55025, 56146, 57275, 58396, 59525, 60653, 61778, 62904, 64031, 65156, 66281]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 0
        self.power1 = 3.22
        self.CDR *= 0.90


class 技能16(主动技能):
    名称 = "狂狮怒吼"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [800, 1680]
    无色消耗 = 2
    data0 = [0, 6567, 7233, 7897, 8564, 9231, 9894, 10560, 11224, 11892, 12558, 13223, 13886, 14554, 15219, 15884, 16551, 17216, 17881, 18548, 19217, 19881, 20545, 21215, 21880, 22543, 23209, 23877, 24540, 25207, 25874, 26539, 27203, 27871, 28537, 29202, 29867, 30531, 31200, 31865, 32530, 33197, 33861, 34528, 35194, 35858, 36524, 37191, 37858, 38522, 39188]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 += 6
        self.倍率 *= 0.57
        self.CDR *= 0.90


class 技能17(主动技能):
    名称 = "奇袭幻影"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 18362, 20226, 22092, 23955, 25815, 27679, 29542, 31404, 33269, 35131, 36994, 38859, 40719, 42584, 44449, 46308, 48171, 50035, 51899, 53759, 55620, 57484, 59348, 61213, 63074, 64936, 66798, 68663, 70526, 72387, 74251, 76115, 77981, 79841, 81703, 83566, 85430, 87293, 89158, 91019, 92880, 94742, 96605, 98468, 100331, 102195, 104056, 105919, 107782, 109647]
    hit0 = 4

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能18(主动技能):
    名称 = "聚能念气炮"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [800, 6000]
    无色消耗 = 5
    data0 = [0, 17722, 19522, 21318, 23117, 24913, 26713, 28509, 30307, 32104, 33905, 35703, 37495, 39299, 41094, 42892, 44687, 46486, 48282, 50082, 51877, 53675, 55472, 57270, 59068, 60865, 62664, 64463, 66260, 68059, 69854, 71653, 73449, 75249, 77046, 78844, 80641, 82441, 84240, 86036, 87835, 89632, 91431, 93225, 95025, 96820, 98621, 100416, 102215, 104013, 105811]
    hit0 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.26


class 技能19(被动技能):
    名称 = '心之念意'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.24 + 0.03 * self.等级, 5)


class 技能20(主动技能):
    名称 = "念帝旋天破"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 172478, 212472, 252467, 292463, 332457, 372451, 412447, 452441, 492435, 532432, 572426, 612421, 652414, 692407, 732401, 772396, 812390, 852384, 892380, 932373, 972369, 1012365, 1052358, 1092352, 1132349, 1172342, 1212335, 1252332, 1292328, 1332320, 1372313, 1412306, 1452300, 1492300, 1532292, 1572287, 1612281, 1652274, 1692269, 1732267, 1772259, 1812254, 1852249, 1892241, 1932238, 1972235, 2012229, 2052221, 2092216, 2132208]
    hit0 = 0
    data1 = [0, 198349, 244342, 290337, 336330, 382325, 428318, 474313, 520306, 566299, 612295, 658289, 704284, 750275, 796268, 842259, 888254, 934247, 980240, 1026235, 1072228, 1118224, 1164219, 1210211, 1256205, 1302201, 1348193, 1394186, 1440180, 1486175, 1532168, 1578159, 1624152, 1670144, 1716144, 1762136, 1808128, 1854122, 1900116, 1946108, 1992105, 2038098, 2084091, 2130085, 2176077, 2222073, 2268069, 2314062, 2360054, 2406047, 2452038]
    hit1 = 1

    形态 = ["蓄满", "秒炸"]

    # 秒C 多段攻击次数为1 且爆炸攻击力随着剩余时间增加而增加 极限秒c加成为78.75%
    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "蓄满":
            self.hit0 = 0
            self.hit1 = 1
        if 形态 == "秒炸":
            self.hit0 = 1
            self.hit1 = 0


class 技能21(主动技能):
    名称 = "天雷分身步"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [833, 1667]
    无色消耗 = 7
    data0 = [0, 31174, 34337, 37499, 40660, 43823, 46986, 50149, 53311, 56472, 59634, 62797, 65960, 69122, 72284, 75445, 78609, 81772, 84934, 88096, 91257, 94420, 97583, 100745, 103907, 107068, 110231, 113396, 116558, 119720, 122882, 126045, 129207, 132369, 135531, 138693, 141856, 145019, 148181, 151343, 154505, 157668, 160831, 163992, 167154, 170316, 173479, 176643, 179803, 182966, 186128]
    hit0 = 1
    data1 = [0, 4678, 5151, 5628, 6102, 6575, 7051, 7524, 7998, 8472, 8947, 9421, 9896, 10370, 10846, 11320, 11793, 12268, 12741, 13215, 13692, 14165, 14639, 15113, 15588, 16061, 16537, 17012, 17487, 17959, 18432, 18908, 19383, 19856, 20332, 20806, 21280, 21757, 22229, 22703, 23178, 23651, 24126, 24600, 25076, 25550, 26023, 26497, 26973, 27446, 27921]
    hit1 = 10
    data2 = [0, 77932, 85837, 93744, 101650, 109555, 117461, 125368, 133273, 141179, 149084, 156992, 164896, 172803, 180708, 188614, 196520, 204426, 212331, 220237, 228142, 236050, 243955, 251861, 259766, 267673, 275578, 283484, 291390, 299296, 307202, 315108, 323013, 330921, 338825, 346732, 354636, 362543, 370448, 378355, 386260, 394166, 402073, 409978, 417884, 425789, 433695, 441602, 449507, 457414, 465318]
    hit2 = 1


class 技能22(主动技能):
    名称 = "念印幻流破"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4028, 4028]
    无色消耗 = 15
    data0 = [0, 10837, 13350, 15862, 18374, 20887, 23402, 25914, 28426, 30938, 33449, 35963, 38477, 40988, 43501, 46016, 48527, 51040, 53553, 56063, 58576, 61087, 63602, 66114, 68626, 71140, 73653, 76165, 78679, 81191, 83702, 86214, 88727, 91240, 93752, 96266, 98778, 101292, 103804, 106316, 108828, 111339, 113853, 116366, 118877, 121391, 123905, 126417, 128930, 131443, 133954]
    hit0 = 5
    data1 = [0, 10837, 13350, 15862, 18374, 20887, 23402, 25914, 28426, 30938, 33449, 35963, 38477, 40988, 43501, 46016, 48527, 51040, 53553, 56063, 58576, 61087, 63602, 66114, 68626, 71140, 73653, 76165, 78679, 81191, 83702, 86214, 88727, 91240, 93752, 96266, 98778, 101292, 103804, 106316, 108828, 111339, 113853, 116366, 118877, 121391, 123905, 126417, 128930, 131443, 133954]
    hit1 = 5
    data2 = [0, 108357, 133483, 158610, 183735, 208861, 233986, 259114, 284238, 309364, 334490, 359617, 384742, 409867, 434993, 460118, 485244, 510371, 535497, 560621, 585747, 610873, 636000, 661126, 686252, 711377, 736504, 761629, 786755, 811880, 837006, 862134, 887260, 912384, 937510, 962635, 987760, 1012887, 1038013, 1063139, 1088264, 1113391, 1138516, 1163642, 1188769, 1213895, 1239020, 1264146, 1289271, 1314397, 1339522]
    hit2 = 1
    data3 = [0, 108357, 133483, 158610, 183735, 208861, 233986, 259114, 284238, 309364, 334490, 359617, 384742, 409867, 434993, 460118, 485244, 510371, 535497, 560621, 585747, 610873, 636000, 661126, 686252, 711377, 736504, 761629, 786755, 811880, 837006, 862134, 887260, 912384, 937510, 962635, 987760, 1012887, 1038013, 1063139, 1088264, 1113391, 1138516, 1163642, 1188769, 1213895, 1239020, 1264146, 1289271, 1314397, 1339522]
    hit3 = 1
    data4 = [0, 216712, 266964, 317216, 367467, 417719, 467971, 518223, 568474, 618725, 668979, 719230, 769481, 819732, 869983, 920235, 970486, 1020739, 1070990, 1121241, 1171494, 1221746, 1271998, 1322250, 1372502, 1422753, 1473003, 1523256, 1573507, 1623759, 1674010, 1724263, 1774514, 1824766, 1875019, 1925270, 1975520, 2025773, 2076023, 2126275, 2176526, 2226779, 2277031, 2327282, 2377536, 2427786, 2478037, 2528289, 2578541, 2628793, 2679044]
    hit4 = 1

# 念气归元


class 技能23(被动技能):
    名称 = '念气归元'
    所在等级 = 95
    等级上限 = 40
    学习间隔 = 3
    等级精通 = 30

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'nenmaster_female'
        self.名称 = '归元·气功师'
        self.角色 = '格斗家(女)'
        self.角色类型 = '输出'
        self.职业 = '气功师'
        # 用来筛CP武器的
        self.转职 = '气功师(女)'
        self.武器选项 = ['手套']
        self.输出类型选项 = ['魔法百分比']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法百分比'
        self.武器类型 = '手套'
        self.防具类型 = '布甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.57*1.21

        super().__init__(equVersion)

    def 职业特殊计算(self):
        幻影爆碎 = self.get_skill_by_name('幻影爆碎')
        分身 = self.get_skill_by_name('分身')
        分身.基础个数 = 幻影爆碎.TP等级

        念气波 = self.get_skill_by_name('念气波')
        蓄念炮倍率 = self.get_skill_by_name('蓄念炮').加成倍率(self.武器类型)

        念气波.倍率 /= 蓄念炮倍率
        念气波.蓄念炮加成 = 蓄念炮倍率

        pass

    def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
        super().set_skill_info(info, clothes_pants=['远古记忆','分身'])
